<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-
(c) The University of Glasgow 2006
(c) The GRASP/AQUA Project, Glasgow University, 1992-2015
-}</span><span>
</span><span id="line-5"></span><span>
</span><span id="line-6"></span><span class="hs-comment">-- | Functions to computing the statistics reflective of the &quot;size&quot;</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- of a Core expression</span><span>
</span><span id="line-8"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Core.Stats</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-9"></span><span>        </span><span class="annot"><span class="hs-comment">-- * Expression and bindings size</span></span><span>
</span><span id="line-10"></span><span>        </span><span class="annot"><a href="GHC.Core.Stats.html#coreBindsSize"><span class="hs-identifier">coreBindsSize</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier">exprSize</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-11"></span><span>        </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier">CoreStats</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#coreBindsStats"><span class="hs-identifier">coreBindsStats</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier">exprStats</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-12"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-13"></span><span>
</span><span id="line-14"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-15"></span><span>
</span><span id="line-16"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html"><span class="hs-identifier">GHC.Types.Basic</span></a></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Core.html"><span class="hs-identifier">GHC.Core</span></a></span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html"><span class="hs-identifier">GHC.Utils.Outputable</span></a></span><span>
</span><span id="line-19"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Core.Coercion.html"><span class="hs-identifier">GHC.Core.Coercion</span></a></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Var.html"><span class="hs-identifier">GHC.Types.Var</span></a></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Core.Type.html"><span class="hs-identifier">GHC.Core.Type</span></a></span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.TyCo.Rep.html#Type"><span class="hs-identifier">Type</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Core.TyCo.Rep.html#typeSize"><span class="hs-identifier">typeSize</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Id.html"><span class="hs-identifier">GHC.Types.Id</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Id.html#isJoinId"><span class="hs-identifier">isJoinId</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-23"></span><span>
</span><span id="line-24"></span><span class="hs-keyword">data</span><span> </span><span id="CoreStats"><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-var">CoreStats</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="CS"><span class="annot"><a href="GHC.Core.Stats.html#CS"><span class="hs-identifier hs-var">CS</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="cs_tm"><span class="annot"><span class="annottext">CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_tm"><span class="hs-identifier hs-var hs-var">cs_tm</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>    </span><span class="hs-comment">-- Terms</span><span>
</span><span id="line-25"></span><span>                    </span><span class="hs-special">,</span><span> </span><span id="cs_ty"><span class="annot"><span class="annottext">CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_ty"><span class="hs-identifier hs-var hs-var">cs_ty</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>    </span><span class="hs-comment">-- Types</span><span>
</span><span id="line-26"></span><span>                    </span><span class="hs-special">,</span><span> </span><span id="cs_co"><span class="annot"><span class="annottext">CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_co"><span class="hs-identifier hs-var hs-var">cs_co</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>    </span><span class="hs-comment">-- Coercions</span><span>
</span><span id="line-27"></span><span>                    </span><span class="hs-special">,</span><span> </span><span id="cs_vb"><span class="annot"><span class="annottext">CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_vb"><span class="hs-identifier hs-var hs-var">cs_vb</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>    </span><span class="hs-comment">-- Local value bindings</span><span>
</span><span id="line-28"></span><span>                    </span><span class="hs-special">,</span><span> </span><span id="cs_jb"><span class="annot"><span class="annottext">CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_jb"><span class="hs-identifier hs-var hs-var">cs_jb</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-special">}</span><span>  </span><span class="hs-comment">-- Local join bindings</span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span>
</span><span id="line-31"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680851602"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-32"></span><span> </span><span id="local-6989586621680851593"><span class="annot"><span class="annottext">ppr :: CoreStats -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.Stats.html#CS"><span class="hs-identifier hs-type">CS</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_tm :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_tm"><span class="hs-identifier hs-var">cs_tm</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851591"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851591"><span class="hs-identifier hs-var">i1</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_ty :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_ty"><span class="hs-identifier hs-var">cs_ty</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851590"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851590"><span class="hs-identifier hs-var">i2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_co :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_co"><span class="hs-identifier hs-var">cs_co</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851589"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851589"><span class="hs-identifier hs-var">i3</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_vb :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_vb"><span class="hs-identifier hs-var">cs_vb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851588"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851588"><span class="hs-identifier hs-var">i4</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_jb :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_jb"><span class="hs-identifier hs-var">cs_jb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851587"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851587"><span class="hs-identifier hs-var">i5</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-33"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#braces"><span class="hs-identifier hs-var">braces</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#sep"><span class="hs-identifier hs-var">sep</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;terms:&quot;</span></span><span>     </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
forall a. Integral a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#intWithCommas"><span class="hs-identifier hs-var">intWithCommas</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851591"><span class="hs-identifier hs-var">i1</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#comma"><span class="hs-identifier hs-var">comma</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-34"></span><span>                  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;types:&quot;</span></span><span>     </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
forall a. Integral a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#intWithCommas"><span class="hs-identifier hs-var">intWithCommas</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851590"><span class="hs-identifier hs-var">i2</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#comma"><span class="hs-identifier hs-var">comma</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-35"></span><span>                  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;coercions:&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
forall a. Integral a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#intWithCommas"><span class="hs-identifier hs-var">intWithCommas</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851589"><span class="hs-identifier hs-var">i3</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#comma"><span class="hs-identifier hs-var">comma</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-36"></span><span>                  </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;joins:&quot;</span></span><span>     </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
forall a. Integral a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#intWithCommas"><span class="hs-identifier hs-var">intWithCommas</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851587"><span class="hs-identifier hs-var">i5</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'/'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span>
</span><span id="line-37"></span><span>                                        </span><span class="annot"><span class="annottext">Int -&gt; SDoc
forall a. Integral a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#intWithCommas"><span class="hs-identifier hs-var">intWithCommas</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851588"><span class="hs-identifier hs-var">i4</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851587"><span class="hs-identifier hs-var">i5</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-38"></span><span>
</span><span id="line-39"></span><span class="annot"><a href="GHC.Core.Stats.html#plusCS"><span class="hs-identifier hs-type">plusCS</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-40"></span><span id="plusCS"><span class="annot"><span class="annottext">plusCS :: CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-identifier hs-var hs-var">plusCS</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.Stats.html#CS"><span class="hs-identifier hs-type">CS</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_tm :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_tm"><span class="hs-identifier hs-var">cs_tm</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851576"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851576"><span class="hs-identifier hs-var">p1</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_ty :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_ty"><span class="hs-identifier hs-var">cs_ty</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851575"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851575"><span class="hs-identifier hs-var">q1</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_co :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_co"><span class="hs-identifier hs-var">cs_co</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851574"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851574"><span class="hs-identifier hs-var">r1</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_vb :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_vb"><span class="hs-identifier hs-var">cs_vb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851573"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851573"><span class="hs-identifier hs-var">v1</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_jb :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_jb"><span class="hs-identifier hs-var">cs_jb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851572"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851572"><span class="hs-identifier hs-var">j1</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-41"></span><span>       </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.Stats.html#CS"><span class="hs-identifier hs-type">CS</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_tm :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_tm"><span class="hs-identifier hs-var">cs_tm</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851571"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851571"><span class="hs-identifier hs-var">p2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_ty :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_ty"><span class="hs-identifier hs-var">cs_ty</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851570"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851570"><span class="hs-identifier hs-var">q2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_co :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_co"><span class="hs-identifier hs-var">cs_co</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851569"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851569"><span class="hs-identifier hs-var">r2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_vb :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_vb"><span class="hs-identifier hs-var">cs_vb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851568"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851568"><span class="hs-identifier hs-var">v2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_jb :: CoreStats -&gt; Int
</span><a href="GHC.Core.Stats.html#cs_jb"><span class="hs-identifier hs-var">cs_jb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621680851567"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851567"><span class="hs-identifier hs-var">j2</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><span id="line-42"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CS :: Int -&gt; Int -&gt; Int -&gt; Int -&gt; Int -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#CS"><span class="hs-identifier hs-type">CS</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_tm :: Int
</span><a href="GHC.Core.Stats.html#cs_tm"><span class="hs-identifier hs-var">cs_tm</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851576"><span class="hs-identifier hs-var">p1</span></a></span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851571"><span class="hs-identifier hs-var">p2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_ty :: Int
</span><a href="GHC.Core.Stats.html#cs_ty"><span class="hs-identifier hs-var">cs_ty</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851575"><span class="hs-identifier hs-var">q1</span></a></span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851570"><span class="hs-identifier hs-var">q2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_co :: Int
</span><a href="GHC.Core.Stats.html#cs_co"><span class="hs-identifier hs-var">cs_co</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851574"><span class="hs-identifier hs-var">r1</span></a></span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851569"><span class="hs-identifier hs-var">r2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_vb :: Int
</span><a href="GHC.Core.Stats.html#cs_vb"><span class="hs-identifier hs-var">cs_vb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851573"><span class="hs-identifier hs-var">v1</span></a></span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851568"><span class="hs-identifier hs-var">v2</span></a></span><span>
</span><span id="line-43"></span><span>       </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_jb :: Int
</span><a href="GHC.Core.Stats.html#cs_jb"><span class="hs-identifier hs-var">cs_jb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851572"><span class="hs-identifier hs-var">j1</span></a></span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680851567"><span class="hs-identifier hs-var">j2</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-44"></span><span>
</span><span id="line-45"></span><span class="annot"><a href="GHC.Core.Stats.html#zeroCS"><span class="hs-identifier hs-type">zeroCS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#oneTM"><span class="hs-identifier hs-type">oneTM</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-46"></span><span id="zeroCS"><span class="annot"><span class="annottext">zeroCS :: CoreStats
</span><a href="GHC.Core.Stats.html#zeroCS"><span class="hs-identifier hs-var hs-var">zeroCS</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CS :: Int -&gt; Int -&gt; Int -&gt; Int -&gt; Int -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#CS"><span class="hs-identifier hs-type">CS</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_tm :: Int
</span><a href="GHC.Core.Stats.html#cs_tm"><span class="hs-identifier hs-var">cs_tm</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_ty :: Int
</span><a href="GHC.Core.Stats.html#cs_ty"><span class="hs-identifier hs-var">cs_ty</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_co :: Int
</span><a href="GHC.Core.Stats.html#cs_co"><span class="hs-identifier hs-var">cs_co</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_vb :: Int
</span><a href="GHC.Core.Stats.html#cs_vb"><span class="hs-identifier hs-var">cs_vb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">cs_jb :: Int
</span><a href="GHC.Core.Stats.html#cs_jb"><span class="hs-identifier hs-var">cs_jb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-47"></span><span id="oneTM"><span class="annot"><span class="annottext">oneTM :: CoreStats
</span><a href="GHC.Core.Stats.html#oneTM"><span class="hs-identifier hs-var hs-var">oneTM</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#zeroCS"><span class="hs-identifier hs-var">zeroCS</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_tm :: Int
</span><a href="GHC.Core.Stats.html#cs_tm"><span class="hs-identifier hs-var">cs_tm</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-48"></span><span>
</span><span id="line-49"></span><span id="local-6989586621680851668"><span class="annot"><a href="GHC.Core.Stats.html#sumCS"><span class="hs-identifier hs-type">sumCS</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680851668"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621680851668"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span></span><span>
</span><span id="line-50"></span><span id="sumCS"><span class="annot"><span class="annottext">sumCS :: forall a. (a -&gt; CoreStats) -&gt; [a] -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#sumCS"><span class="hs-identifier hs-var hs-var">sumCS</span></a></span></span><span> </span><span id="local-6989586621680851562"><span class="annot"><span class="annottext">a -&gt; CoreStats
</span><a href="#local-6989586621680851562"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(CoreStats -&gt; a -&gt; CoreStats) -&gt; CoreStats -&gt; [a] -&gt; CoreStats
forall (t :: * -&gt; *) b a.
Foldable t =&gt;
(b -&gt; a -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldl%27"><span class="hs-identifier hs-var">foldl'</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621680851560"><span class="annot"><span class="annottext">CoreStats
</span><a href="#local-6989586621680851560"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span id="local-6989586621680851559"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680851559"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-identifier hs-var">plusCS</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="#local-6989586621680851560"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; CoreStats
</span><a href="#local-6989586621680851562"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680851559"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#zeroCS"><span class="hs-identifier hs-var">zeroCS</span></a></span><span>
</span><span id="line-51"></span><span>
</span><span id="line-52"></span><span class="annot"><a href="GHC.Core.Stats.html#coreBindsStats"><span class="hs-identifier hs-type">coreBindsStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Core.html#CoreBind"><span class="hs-identifier hs-type">CoreBind</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-53"></span><span id="coreBindsStats"><span class="annot"><span class="annottext">coreBindsStats :: [CoreBind] -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#coreBindsStats"><span class="hs-identifier hs-var hs-var">coreBindsStats</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(CoreBind -&gt; CoreStats) -&gt; [CoreBind] -&gt; CoreStats
forall a. (a -&gt; CoreStats) -&gt; [a] -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#sumCS"><span class="hs-identifier hs-var">sumCS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TopLevelFlag -&gt; CoreBind -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bindStats"><span class="hs-identifier hs-var">bindStats</span></a></span><span> </span><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="GHC.Types.Basic.html#TopLevel"><span class="hs-identifier hs-var">TopLevel</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-54"></span><span>
</span><span id="line-55"></span><span class="annot"><a href="GHC.Core.Stats.html#bindStats"><span class="hs-identifier hs-type">bindStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html#TopLevelFlag"><span class="hs-identifier hs-type">TopLevelFlag</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.html#CoreBind"><span class="hs-identifier hs-type">CoreBind</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-56"></span><span id="bindStats"><span class="annot"><span class="annottext">bindStats :: TopLevelFlag -&gt; CoreBind -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bindStats"><span class="hs-identifier hs-var hs-var">bindStats</span></a></span></span><span> </span><span id="local-6989586621680851556"><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="#local-6989586621680851556"><span class="hs-identifier hs-var">top_lvl</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#NonRec"><span class="hs-identifier hs-type">NonRec</span></a></span><span> </span><span id="local-6989586621680851554"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851554"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621680851553"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851553"><span class="hs-identifier hs-var">r</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TopLevelFlag -&gt; CoreBndr -&gt; Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bindingStats"><span class="hs-identifier hs-var">bindingStats</span></a></span><span> </span><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="#local-6989586621680851556"><span class="hs-identifier hs-var">top_lvl</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851554"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851553"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-57"></span><span class="annot"><a href="GHC.Core.Stats.html#bindStats"><span class="hs-identifier hs-var">bindStats</span></a></span><span> </span><span id="local-6989586621680851551"><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="#local-6989586621680851551"><span class="hs-identifier hs-var">top_lvl</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Rec"><span class="hs-identifier hs-type">Rec</span></a></span><span> </span><span id="local-6989586621680851549"><span class="annot"><span class="annottext">[(CoreBndr, Expr CoreBndr)]
</span><a href="#local-6989586621680851549"><span class="hs-identifier hs-var">prs</span></a></span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">((CoreBndr, Expr CoreBndr) -&gt; CoreStats)
-&gt; [(CoreBndr, Expr CoreBndr)] -&gt; CoreStats
forall a. (a -&gt; CoreStats) -&gt; [a] -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#sumCS"><span class="hs-identifier hs-var">sumCS</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><span id="local-6989586621680851548"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851548"><span class="hs-identifier hs-var">v</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621680851547"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851547"><span class="hs-identifier hs-var">r</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">TopLevelFlag -&gt; CoreBndr -&gt; Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bindingStats"><span class="hs-identifier hs-var">bindingStats</span></a></span><span> </span><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="#local-6989586621680851551"><span class="hs-identifier hs-var">top_lvl</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851548"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851547"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[(CoreBndr, Expr CoreBndr)]
</span><a href="#local-6989586621680851549"><span class="hs-identifier hs-var">prs</span></a></span><span>
</span><span id="line-58"></span><span>
</span><span id="line-59"></span><span class="annot"><a href="GHC.Core.Stats.html#bindingStats"><span class="hs-identifier hs-type">bindingStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html#TopLevelFlag"><span class="hs-identifier hs-type">TopLevelFlag</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Var.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.html#CoreExpr"><span class="hs-identifier hs-type">CoreExpr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-60"></span><span id="bindingStats"><span class="annot"><span class="annottext">bindingStats :: TopLevelFlag -&gt; CoreBndr -&gt; Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bindingStats"><span class="hs-identifier hs-var hs-var">bindingStats</span></a></span></span><span> </span><span id="local-6989586621680851544"><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="#local-6989586621680851544"><span class="hs-identifier hs-var">top_lvl</span></a></span></span><span> </span><span id="local-6989586621680851543"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851543"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621680851542"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851542"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TopLevelFlag -&gt; CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#letBndrStats"><span class="hs-identifier hs-var">letBndrStats</span></a></span><span> </span><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="#local-6989586621680851544"><span class="hs-identifier hs-var">top_lvl</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851543"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851542"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-61"></span><span>
</span><span id="line-62"></span><span class="annot"><a href="GHC.Core.Stats.html#bndrStats"><span class="hs-identifier hs-type">bndrStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Var.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-63"></span><span id="bndrStats"><span class="annot"><span class="annottext">bndrStats :: CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bndrStats"><span class="hs-identifier hs-var hs-var">bndrStats</span></a></span></span><span> </span><span id="local-6989586621680851539"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851539"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#oneTM"><span class="hs-identifier hs-var">oneTM</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">Type -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#tyStats"><span class="hs-identifier hs-var">tyStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CoreBndr -&gt; Type
</span><a href="GHC.Types.Var.html#varType"><span class="hs-identifier hs-var hs-var">varType</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851539"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-64"></span><span>
</span><span id="line-65"></span><span class="annot"><a href="GHC.Core.Stats.html#letBndrStats"><span class="hs-identifier hs-type">letBndrStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html#TopLevelFlag"><span class="hs-identifier hs-type">TopLevelFlag</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Var.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-66"></span><span id="letBndrStats"><span class="annot"><span class="annottext">letBndrStats :: TopLevelFlag -&gt; CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#letBndrStats"><span class="hs-identifier hs-var hs-var">letBndrStats</span></a></span></span><span> </span><span id="local-6989586621680851536"><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="#local-6989586621680851536"><span class="hs-identifier hs-var">top_lvl</span></a></span></span><span> </span><span id="local-6989586621680851535"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851535"><span class="hs-identifier hs-var">v</span></a></span></span><span>
</span><span id="line-67"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; Bool
</span><a href="GHC.Types.Var.html#isTyVar"><span class="hs-identifier hs-var">isTyVar</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851535"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">TopLevelFlag -&gt; Bool
</span><a href="GHC.Types.Basic.html#isTopLevel"><span class="hs-identifier hs-var">isTopLevel</span></a></span><span> </span><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="#local-6989586621680851536"><span class="hs-identifier hs-var">top_lvl</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bndrStats"><span class="hs-identifier hs-var">bndrStats</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851535"><span class="hs-identifier hs-var">v</span></a></span><span>
</span><span id="line-68"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; Bool
</span><a href="GHC.Types.Id.html#isJoinId"><span class="hs-identifier hs-var">isJoinId</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851535"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#oneTM"><span class="hs-identifier hs-var">oneTM</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_jb :: Int
</span><a href="GHC.Core.Stats.html#cs_jb"><span class="hs-identifier hs-var">cs_jb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="#local-6989586621680851531"><span class="hs-identifier hs-var">ty_stats</span></a></span><span>
</span><span id="line-69"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#oneTM"><span class="hs-identifier hs-var">oneTM</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_vb :: Int
</span><a href="GHC.Core.Stats.html#cs_vb"><span class="hs-identifier hs-var">cs_vb</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="#local-6989586621680851531"><span class="hs-identifier hs-var">ty_stats</span></a></span><span>
</span><span id="line-70"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-71"></span><span>    </span><span id="local-6989586621680851531"><span class="annot"><span class="annottext">ty_stats :: CoreStats
</span><a href="#local-6989586621680851531"><span class="hs-identifier hs-var hs-var">ty_stats</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Type -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#tyStats"><span class="hs-identifier hs-var">tyStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CoreBndr -&gt; Type
</span><a href="GHC.Types.Var.html#varType"><span class="hs-identifier hs-var hs-var">varType</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851535"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-72"></span><span>
</span><span id="line-73"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-type">exprStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.html#CoreExpr"><span class="hs-identifier hs-type">CoreExpr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-74"></span><span id="exprStats"><span class="annot"><span class="annottext">exprStats :: Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var hs-var">exprStats</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#oneTM"><span class="hs-identifier hs-var">oneTM</span></a></span><span>
</span><span id="line-75"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Lit"><span class="hs-identifier hs-type">Lit</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#oneTM"><span class="hs-identifier hs-var">oneTM</span></a></span><span>
</span><span id="line-76"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Type"><span class="hs-identifier hs-type">Type</span></a></span><span> </span><span id="local-6989586621680851527"><span class="annot"><span class="annottext">Type
</span><a href="#local-6989586621680851527"><span class="hs-identifier hs-var">t</span></a></span></span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Type -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#tyStats"><span class="hs-identifier hs-var">tyStats</span></a></span><span> </span><span class="annot"><span class="annottext">Type
</span><a href="#local-6989586621680851527"><span class="hs-identifier hs-var">t</span></a></span><span>
</span><span id="line-77"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Coercion"><span class="hs-identifier hs-type">Coercion</span></a></span><span> </span><span id="local-6989586621680851525"><span class="annot"><span class="annottext">Coercion
</span><a href="#local-6989586621680851525"><span class="hs-identifier hs-var">c</span></a></span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Coercion -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#coStats"><span class="hs-identifier hs-var">coStats</span></a></span><span> </span><span class="annot"><span class="annottext">Coercion
</span><a href="#local-6989586621680851525"><span class="hs-identifier hs-var">c</span></a></span><span>
</span><span id="line-78"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#App"><span class="hs-identifier hs-type">App</span></a></span><span> </span><span id="local-6989586621680851522"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851522"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621680851521"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851521"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851522"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851521"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-79"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Lam"><span class="hs-identifier hs-type">Lam</span></a></span><span> </span><span id="local-6989586621680851519"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851519"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span id="local-6989586621680851518"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851518"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bndrStats"><span class="hs-identifier hs-var">bndrStats</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851519"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851518"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-80"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Let"><span class="hs-identifier hs-type">Let</span></a></span><span> </span><span id="local-6989586621680851516"><span class="annot"><span class="annottext">CoreBind
</span><a href="#local-6989586621680851516"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span id="local-6989586621680851515"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851515"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TopLevelFlag -&gt; CoreBind -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bindStats"><span class="hs-identifier hs-var">bindStats</span></a></span><span> </span><span class="annot"><span class="annottext">TopLevelFlag
</span><a href="GHC.Types.Basic.html#NotTopLevel"><span class="hs-identifier hs-var">NotTopLevel</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBind
</span><a href="#local-6989586621680851516"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851515"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-81"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Case"><span class="hs-identifier hs-type">Case</span></a></span><span> </span><span id="local-6989586621680851512"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851512"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span id="local-6989586621680851511"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851511"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="annot"><span class="annottext">Type
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680851510"><span class="annot"><span class="annottext">[Alt CoreBndr]
</span><a href="#local-6989586621680851510"><span class="hs-keyword hs-var">as</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851512"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#bndrStats"><span class="hs-identifier hs-var">bndrStats</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851511"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-82"></span><span>                                        </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">(Alt CoreBndr -&gt; CoreStats) -&gt; [Alt CoreBndr] -&gt; CoreStats
forall a. (a -&gt; CoreStats) -&gt; [a] -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#sumCS"><span class="hs-identifier hs-var">sumCS</span></a></span><span> </span><span class="annot"><span class="annottext">Alt CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#altStats"><span class="hs-identifier hs-var">altStats</span></a></span><span> </span><span class="annot"><span class="annottext">[Alt CoreBndr]
</span><a href="#local-6989586621680851510"><span class="hs-keyword hs-var">as</span></a></span><span>
</span><span id="line-83"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Cast"><span class="hs-identifier hs-type">Cast</span></a></span><span> </span><span id="local-6989586621680851507"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851507"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span id="local-6989586621680851506"><span class="annot"><span class="annottext">Coercion
</span><a href="#local-6989586621680851506"><span class="hs-identifier hs-var">co</span></a></span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Coercion -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#coStats"><span class="hs-identifier hs-var">coStats</span></a></span><span> </span><span class="annot"><span class="annottext">Coercion
</span><a href="#local-6989586621680851506"><span class="hs-identifier hs-var">co</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851507"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-84"></span><span class="annot"><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Tick"><span class="hs-identifier hs-type">Tick</span></a></span><span> </span><span class="annot"><span class="annottext">Tickish CoreBndr
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680851504"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851504"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851504"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-85"></span><span>
</span><span id="line-86"></span><span class="annot"><a href="GHC.Core.Stats.html#altStats"><span class="hs-identifier hs-type">altStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.html#CoreAlt"><span class="hs-identifier hs-type">CoreAlt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-87"></span><span id="altStats"><span class="annot"><span class="annottext">altStats :: Alt CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#altStats"><span class="hs-identifier hs-var hs-var">altStats</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">AltCon
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680851502"><span class="annot"><span class="annottext">[CoreBndr]
</span><a href="#local-6989586621680851502"><span class="hs-identifier hs-var">bs</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680851501"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851501"><span class="hs-identifier hs-var">r</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[CoreBndr] -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#altBndrStats"><span class="hs-identifier hs-var">altBndrStats</span></a></span><span> </span><span class="annot"><span class="annottext">[CoreBndr]
</span><a href="#local-6989586621680851502"><span class="hs-identifier hs-var">bs</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#exprStats"><span class="hs-identifier hs-var">exprStats</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851501"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-88"></span><span>
</span><span id="line-89"></span><span class="annot"><a href="GHC.Core.Stats.html#altBndrStats"><span class="hs-identifier hs-type">altBndrStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Types.Var.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-90"></span><span class="hs-comment">-- Charge one for the alternative, not for each binder</span><span>
</span><span id="line-91"></span><span id="altBndrStats"><span class="annot"><span class="annottext">altBndrStats :: [CoreBndr] -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#altBndrStats"><span class="hs-identifier hs-var hs-var">altBndrStats</span></a></span></span><span> </span><span id="local-6989586621680851499"><span class="annot"><span class="annottext">[CoreBndr]
</span><a href="#local-6989586621680851499"><span class="hs-identifier hs-var">vs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#oneTM"><span class="hs-identifier hs-var">oneTM</span></a></span><span> </span><span class="annot"><span class="annottext">CoreStats -&gt; CoreStats -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#plusCS"><span class="hs-operator hs-var">`plusCS`</span></a></span><span> </span><span class="annot"><span class="annottext">(CoreBndr -&gt; CoreStats) -&gt; [CoreBndr] -&gt; CoreStats
forall a. (a -&gt; CoreStats) -&gt; [a] -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#sumCS"><span class="hs-identifier hs-var">sumCS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Type -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#tyStats"><span class="hs-identifier hs-var">tyStats</span></a></span><span> </span><span class="annot"><span class="annottext">(Type -&gt; CoreStats) -&gt; (CoreBndr -&gt; Type) -&gt; CoreBndr -&gt; CoreStats
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; Type
</span><a href="GHC.Types.Var.html#varType"><span class="hs-identifier hs-var hs-var">varType</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[CoreBndr]
</span><a href="#local-6989586621680851499"><span class="hs-identifier hs-var">vs</span></a></span><span>
</span><span id="line-92"></span><span>
</span><span id="line-93"></span><span class="annot"><a href="GHC.Core.Stats.html#tyStats"><span class="hs-identifier hs-type">tyStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.TyCo.Rep.html#Type"><span class="hs-identifier hs-type">Type</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-94"></span><span id="tyStats"><span class="annot"><span class="annottext">tyStats :: Type -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#tyStats"><span class="hs-identifier hs-var hs-var">tyStats</span></a></span></span><span> </span><span id="local-6989586621680851497"><span class="annot"><span class="annottext">Type
</span><a href="#local-6989586621680851497"><span class="hs-identifier hs-var">ty</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#zeroCS"><span class="hs-identifier hs-var">zeroCS</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_ty :: Int
</span><a href="GHC.Core.Stats.html#cs_ty"><span class="hs-identifier hs-var">cs_ty</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Type -&gt; Int
</span><a href="GHC.Core.TyCo.Rep.html#typeSize"><span class="hs-identifier hs-var">typeSize</span></a></span><span> </span><span class="annot"><span class="annottext">Type
</span><a href="#local-6989586621680851497"><span class="hs-identifier hs-var">ty</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-95"></span><span>
</span><span id="line-96"></span><span class="annot"><a href="GHC.Core.Stats.html#coStats"><span class="hs-identifier hs-type">coStats</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.TyCo.Rep.html#Coercion"><span class="hs-identifier hs-type">Coercion</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Core.Stats.html#CoreStats"><span class="hs-identifier hs-type">CoreStats</span></a></span><span>
</span><span id="line-97"></span><span id="coStats"><span class="annot"><span class="annottext">coStats :: Coercion -&gt; CoreStats
</span><a href="GHC.Core.Stats.html#coStats"><span class="hs-identifier hs-var hs-var">coStats</span></a></span></span><span> </span><span id="local-6989586621680851496"><span class="annot"><span class="annottext">Coercion
</span><a href="#local-6989586621680851496"><span class="hs-identifier hs-var">co</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreStats
</span><a href="GHC.Core.Stats.html#zeroCS"><span class="hs-identifier hs-var">zeroCS</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">cs_co :: Int
</span><a href="GHC.Core.Stats.html#cs_co"><span class="hs-identifier hs-var">cs_co</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Coercion -&gt; Int
</span><a href="GHC.Core.TyCo.Rep.html#coercionSize"><span class="hs-identifier hs-var">coercionSize</span></a></span><span> </span><span class="annot"><span class="annottext">Coercion
</span><a href="#local-6989586621680851496"><span class="hs-identifier hs-var">co</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-98"></span><span>
</span><span id="line-99"></span><span class="annot"><a href="GHC.Core.Stats.html#coreBindsSize"><span class="hs-identifier hs-type">coreBindsSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Core.html#CoreBind"><span class="hs-identifier hs-type">CoreBind</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-100"></span><span class="hs-comment">-- We use coreBindStats for user printout</span><span>
</span><span id="line-101"></span><span class="hs-comment">-- but this one is a quick and dirty basis for</span><span>
</span><span id="line-102"></span><span class="hs-comment">-- the simplifier's tick limit</span><span>
</span><span id="line-103"></span><span id="coreBindsSize"><span class="annot"><span class="annottext">coreBindsSize :: [CoreBind] -&gt; Int
</span><a href="GHC.Core.Stats.html#coreBindsSize"><span class="hs-identifier hs-var hs-var">coreBindsSize</span></a></span></span><span> </span><span id="local-6989586621680851494"><span class="annot"><span class="annottext">[CoreBind]
</span><a href="#local-6989586621680851494"><span class="hs-identifier hs-var">bs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Int
forall (t :: * -&gt; *) a. (Foldable t, Num a) =&gt; t a -&gt; a
</span><a href="../../base/src/Data.Foldable.html#sum"><span class="hs-identifier hs-var">sum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(CoreBind -&gt; Int) -&gt; [CoreBind] -&gt; [Int]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBind -&gt; Int
</span><a href="GHC.Core.Stats.html#bindSize"><span class="hs-identifier hs-var">bindSize</span></a></span><span> </span><span class="annot"><span class="annottext">[CoreBind]
</span><a href="#local-6989586621680851494"><span class="hs-identifier hs-var">bs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-104"></span><span>
</span><span id="line-105"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-type">exprSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.html#CoreExpr"><span class="hs-identifier hs-type">CoreExpr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-106"></span><span class="hs-comment">-- ^ A measure of the size of the expressions, strictly greater than 0</span><span>
</span><span id="line-107"></span><span class="hs-comment">-- Counts *leaves*, not internal nodes. Types and coercions are not counted.</span><span>
</span><span id="line-108"></span><span id="exprSize"><span class="annot"><span class="annottext">exprSize :: Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var hs-var">exprSize</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-109"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Lit"><span class="hs-identifier hs-type">Lit</span></a></span><span> </span><span class="annot"><span class="annottext">Literal
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-110"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#App"><span class="hs-identifier hs-type">App</span></a></span><span> </span><span id="local-6989586621680851491"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851491"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621680851490"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851490"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851491"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851490"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-111"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Lam"><span class="hs-identifier hs-type">Lam</span></a></span><span> </span><span id="local-6989586621680851489"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851489"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span id="local-6989586621680851488"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851488"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#bndrSize"><span class="hs-identifier hs-var">bndrSize</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851489"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851488"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-112"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Let"><span class="hs-identifier hs-type">Let</span></a></span><span> </span><span id="local-6989586621680851486"><span class="annot"><span class="annottext">CoreBind
</span><a href="#local-6989586621680851486"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span id="local-6989586621680851485"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851485"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreBind -&gt; Int
</span><a href="GHC.Core.Stats.html#bindSize"><span class="hs-identifier hs-var">bindSize</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBind
</span><a href="#local-6989586621680851486"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851485"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-113"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Case"><span class="hs-identifier hs-type">Case</span></a></span><span> </span><span id="local-6989586621680851484"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851484"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span id="local-6989586621680851483"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851483"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="annot"><span class="annottext">Type
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680851482"><span class="annot"><span class="annottext">[Alt CoreBndr]
</span><a href="#local-6989586621680851482"><span class="hs-keyword hs-var">as</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851484"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#bndrSize"><span class="hs-identifier hs-var">bndrSize</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851483"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Int
forall (t :: * -&gt; *) a. (Foldable t, Num a) =&gt; t a -&gt; a
</span><a href="../../base/src/Data.Foldable.html#sum"><span class="hs-identifier hs-var">sum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Alt CoreBndr -&gt; Int) -&gt; [Alt CoreBndr] -&gt; [Int]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Alt CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#altSize"><span class="hs-identifier hs-var">altSize</span></a></span><span> </span><span class="annot"><span class="annottext">[Alt CoreBndr]
</span><a href="#local-6989586621680851482"><span class="hs-keyword hs-var">as</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-114"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Cast"><span class="hs-identifier hs-type">Cast</span></a></span><span> </span><span id="local-6989586621680851480"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851480"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="annot"><span class="annottext">Coercion
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851480"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-115"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Tick"><span class="hs-identifier hs-type">Tick</span></a></span><span> </span><span id="local-6989586621680851479"><span class="annot"><span class="annottext">Tickish CoreBndr
</span><a href="#local-6989586621680851479"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680851478"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851478"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Tickish CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#tickSize"><span class="hs-identifier hs-var">tickSize</span></a></span><span> </span><span class="annot"><span class="annottext">Tickish CoreBndr
</span><a href="#local-6989586621680851479"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851478"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-116"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Type"><span class="hs-identifier hs-type">Type</span></a></span><span> </span><span class="annot"><span class="annottext">Type
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-117"></span><span class="annot"><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Coercion"><span class="hs-identifier hs-type">Coercion</span></a></span><span> </span><span class="annot"><span class="annottext">Coercion
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-118"></span><span>
</span><span id="line-119"></span><span class="annot"><a href="GHC.Core.Stats.html#tickSize"><span class="hs-identifier hs-type">tickSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.html#Tickish"><span class="hs-identifier hs-type">Tickish</span></a></span><span> </span><span class="annot"><a href="GHC.Types.Var.html#Id"><span class="hs-identifier hs-type">Id</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-120"></span><span id="tickSize"><span class="annot"><span class="annottext">tickSize :: Tickish CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#tickSize"><span class="hs-identifier hs-var hs-var">tickSize</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#ProfNote"><span class="hs-identifier hs-type">ProfNote</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-121"></span><span class="annot"><a href="GHC.Core.Stats.html#tickSize"><span class="hs-identifier hs-var">tickSize</span></a></span><span> </span><span class="annot"><span class="annottext">Tickish CoreBndr
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-122"></span><span>
</span><span id="line-123"></span><span class="annot"><a href="GHC.Core.Stats.html#bndrSize"><span class="hs-identifier hs-type">bndrSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Var.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-124"></span><span id="bndrSize"><span class="annot"><span class="annottext">bndrSize :: CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#bndrSize"><span class="hs-identifier hs-var hs-var">bndrSize</span></a></span></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span>
</span><span id="line-125"></span><span>
</span><span id="line-126"></span><span class="annot"><a href="GHC.Core.Stats.html#bndrsSize"><span class="hs-identifier hs-type">bndrsSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Types.Var.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-127"></span><span id="bndrsSize"><span class="annot"><span class="annottext">bndrsSize :: [CoreBndr] -&gt; Int
</span><a href="GHC.Core.Stats.html#bndrsSize"><span class="hs-identifier hs-var hs-var">bndrsSize</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Int
forall (t :: * -&gt; *) a. (Foldable t, Num a) =&gt; t a -&gt; a
</span><a href="../../base/src/Data.Foldable.html#sum"><span class="hs-identifier hs-var">sum</span></a></span><span> </span><span class="annot"><span class="annottext">([Int] -&gt; Int) -&gt; ([CoreBndr] -&gt; [Int]) -&gt; [CoreBndr] -&gt; Int
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(CoreBndr -&gt; Int) -&gt; [CoreBndr] -&gt; [Int]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#bndrSize"><span class="hs-identifier hs-var">bndrSize</span></a></span><span>
</span><span id="line-128"></span><span>
</span><span id="line-129"></span><span class="annot"><a href="GHC.Core.Stats.html#bindSize"><span class="hs-identifier hs-type">bindSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.html#CoreBind"><span class="hs-identifier hs-type">CoreBind</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-130"></span><span id="bindSize"><span class="annot"><span class="annottext">bindSize :: CoreBind -&gt; Int
</span><a href="GHC.Core.Stats.html#bindSize"><span class="hs-identifier hs-var hs-var">bindSize</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#NonRec"><span class="hs-identifier hs-type">NonRec</span></a></span><span> </span><span id="local-6989586621680851473"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851473"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span id="local-6989586621680851472"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851472"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#bndrSize"><span class="hs-identifier hs-var">bndrSize</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851473"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851472"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-131"></span><span class="annot"><a href="GHC.Core.Stats.html#bindSize"><span class="hs-identifier hs-var">bindSize</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Core.html#Rec"><span class="hs-identifier hs-type">Rec</span></a></span><span> </span><span id="local-6989586621680851471"><span class="annot"><span class="annottext">[(CoreBndr, Expr CoreBndr)]
</span><a href="#local-6989586621680851471"><span class="hs-identifier hs-var">prs</span></a></span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Int
forall (t :: * -&gt; *) a. (Foldable t, Num a) =&gt; t a -&gt; a
</span><a href="../../base/src/Data.Foldable.html#sum"><span class="hs-identifier hs-var">sum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((CoreBndr, Expr CoreBndr) -&gt; Int)
-&gt; [(CoreBndr, Expr CoreBndr)] -&gt; [Int]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">(CoreBndr, Expr CoreBndr) -&gt; Int
</span><a href="GHC.Core.Stats.html#pairSize"><span class="hs-identifier hs-var">pairSize</span></a></span><span> </span><span class="annot"><span class="annottext">[(CoreBndr, Expr CoreBndr)]
</span><a href="#local-6989586621680851471"><span class="hs-identifier hs-var">prs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-132"></span><span>
</span><span id="line-133"></span><span class="annot"><a href="GHC.Core.Stats.html#pairSize"><span class="hs-identifier hs-type">pairSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.Var.html#Var"><span class="hs-identifier hs-type">Var</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Core.html#CoreExpr"><span class="hs-identifier hs-type">CoreExpr</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-134"></span><span id="pairSize"><span class="annot"><span class="annottext">pairSize :: (CoreBndr, Expr CoreBndr) -&gt; Int
</span><a href="GHC.Core.Stats.html#pairSize"><span class="hs-identifier hs-var hs-var">pairSize</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621680851469"><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851469"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621680851468"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851468"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#bndrSize"><span class="hs-identifier hs-var">bndrSize</span></a></span><span> </span><span class="annot"><span class="annottext">CoreBndr
</span><a href="#local-6989586621680851469"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851468"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-135"></span><span>
</span><span id="line-136"></span><span class="annot"><a href="GHC.Core.Stats.html#altSize"><span class="hs-identifier hs-type">altSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Core.html#CoreAlt"><span class="hs-identifier hs-type">CoreAlt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-137"></span><span id="altSize"><span class="annot"><span class="annottext">altSize :: Alt CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#altSize"><span class="hs-identifier hs-var hs-var">altSize</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">AltCon
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span id="local-6989586621680851467"><span class="annot"><span class="annottext">[CoreBndr]
</span><a href="#local-6989586621680851467"><span class="hs-identifier hs-var">bs</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621680851466"><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851466"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[CoreBndr] -&gt; Int
</span><a href="GHC.Core.Stats.html#bndrsSize"><span class="hs-identifier hs-var">bndrsSize</span></a></span><span> </span><span class="annot"><span class="annottext">[CoreBndr]
</span><a href="#local-6989586621680851467"><span class="hs-identifier hs-var">bs</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr -&gt; Int
</span><a href="GHC.Core.Stats.html#exprSize"><span class="hs-identifier hs-var">exprSize</span></a></span><span> </span><span class="annot"><span class="annottext">Expr CoreBndr
</span><a href="#local-6989586621680851466"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-138"></span></pre></body></html>